#!/bin/python3

import sys
import math

input_file = sys.argv[1]
diffout = sys.argv[3]

with open(input_file, "r") as f, open(diffout + "/judgemessage.txt", "w") as f2:
    n = int(f.readline())
    try: 
        line = input()
    except EOFError:
        f2.write("No lines were provided.\n")
        sys.exit(43)
    try:
        m = int(line)
    except:
        f2.write("Output has non-integer value.\n")
        sys.exit(43)
    try:
        mnem = input().upper()
    except EOFError:
        f2.write("Too few lines were provided.\n")
        sys.exit(43)
    try:
        input()
        f2.write("Too many lines were provided.\n")
        sys.exit(43)
    except EOFError:
        pass
    
    opt = n ** 2 + 1
    if m != opt:
        f2.write(f"Answer length was {m}, expected {opt}.\n")
        sys.exit(43)
    if len(mnem) != m:
        f2.write(f"Answer length was {m}, but string had length {len(mnem)}.\n")
        sys.exit(43)
    seencombs = {}
    for i in range(m-1):
        seencombs[mnem[i:i+2]] = 0
    for c1 in range(n):
        for c2 in range(n):
            if not (str(chr(ord('A') + c1)) + str(chr(ord('A') + c2))) in seencombs:
                f2.write(f"Missing combination {str(chr(ord('A') + c1)) + str(chr(ord('A') + c2))}.\n")
                sys.exit(43)
    sys.exit(42)
f2.write("Did not exit in time.\n")
sys.exit(43)